import http from "@/api";
import { PageVo, ResultPageData } from "@/api/interface/index";

export namespace Role {
  export interface RoleSearchVo extends PageVo {
    roleCode: string; // 角色编码
    roleName: string; // 角色名称
  }
  export interface RoleOut {
    roleId: string; // 角色编号
    roleCode: string; // 角色编码
    roleName: string; // 角色名称
    createUserId: string; // 创建人
    createTime: Date; // 创建时间
    updateUserId: string; // 修改人
    updateTime: Date; // 修改时间
    remark: string; // 备注
  }
  export interface RoleInsertVo {
    roleCode: string; // 角色编码
    roleName: string; // 角色名称
    remark: string; // 备注
  }
}

// 获取角色列表
export const getRoleList = (params: Role.RoleSearchVo) => {
  return http.post<ResultPageData<Role.RoleOut>>("/admin/role/rolePage", params);
};

// 根据Id查询角色
export const getRoleById = (id: string) => {
  return http.get<Role.RoleOut>("/admin/role/selectById", { id: id });
};

// 添加角色
export const addRole = (params: Role.RoleInsertVo) => {
  return http.post("/admin/role/insert", params);
};

// 修改角色
export const updateRole = (params: Role.RoleInsertVo) => {
  return http.post("/admin/role/update", params);
};

// 删除角色
export const deleteRole = (id: string) => {
  return http.delete("/admin/role/delete", { id: id });
};
